extension IterableExtension<T> on List<T>{
  List<R> mapIndexed<R>(R Function(T value, int index) transform){
    return this.asMap().entries.map((e) => transform(e.value,e.key)).toList();
  }
}